open util/integer


sig Element {
	we: Int
} 
fact {
	all e:Element | some a:Arch | e in a.elements
	all e:Element | e.we < 10 and e.we > 0
}

sig Arch {
	elements: set Element,
	wa: Int
} 


fact {
	all a:Arch  | int[a.wa] = (sum e: a.elements | int[e.we]) 
}


run {some Arch and (all b:Arch | #(b.elements) > 2)} for 4 Element, 1 Arch, 7 int
